function ajax(option) {
    let xmlHttpRequest;
    if (window.XMLHttpRequest) {
        xmlHttpRequest = new XMLHttpRequest();
    } else {
        // 微软IE
        xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpRequest.onreadystatechange = function () {
        //     就绪状态为4，表示数据已经返回
        if (xmlHttpRequest.readyState === 4) {
            let responseText = xmlHttpRequest.responseText;
            //     200表示服务器端返回数据成功
            if (xmlHttpRequest.status >= 200 && xmlHttpRequest.status < 300) {
                //     对结果进行处理
                if (typeof option.success === 'function') {
                    option.success(responseText);//调用传递过来的函数 回调
                }
            } else {
                if (typeof option.error === 'function') {
                    option.error();
                }
            }
        }
    }
    let dataInfo = null;
    if (option.method.toLowerCase() === 'get' && option.data) {
        let param = "?";
        // 获取对象中的所有属性名形成的一个集合
        let keys = Object.keys(option.data);
        keys.forEach((key, index) => {
            if (index > 0) param += "&"; // 正确添加分隔符
            param += key + "=" + option.data[key];
        })
        option.url += param;
    }
    xmlHttpRequest.open(option.method, option.url, true);
    if (option.contentType) {
        //     如果有contentType
        xmlHttpRequest.setRequestHeader("Content-Type", option.contentType);
    }
    if (option.method.toLowerCase() === 'post') {
        // dataInfo = option.data;
        if (option.contentType && option.contentType.indexOf("application/x-www-form-urlencoded") >= 0) {
            let param = "";
            // 获取对象中的所有属性名形成的一个集合
            let keys = Object.keys(option.data);
            keys.forEach((key, index) => {
                if (index > 0) param += "&"; // 正确添加分隔符
                param += key + "=" + option.data[key];
            })
            dataInfo = param;
        } else {
            // 处理其他数据格式
            if (typeof option.data === 'object') {
                dataInfo = JSON.stringify(option.data);
            } else {
                dataInfo = option.data;
            }
        }
    }
    xmlHttpRequest.send(dataInfo);
}